home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / util / misc / AminetCalc17.lha / AmiNet-Calc17 / AmiNet-Calc.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1995-03-07  |  4.2 KB  |  131 lines

  1. /* aminet-on-disk-calculator */
  2. /* (C) by Martin Steigerwald */
  3. /* 28. 2.95 V1.6-Erweiterung von Martin Schulze, 28.2.95 */
  4. /*          V1.4-1.5 by Martin Steigerwald */
  5. /*          Thanks to Michael Grubba !! */
  6. /*          V1.3 by Michael Grubba         */
  7.  
  8. /* Open(console,"*","write") für diejenigen, die kein eigenes
  9. Shell-Fenster wollen. Habe ich nicht getestet, müßte aber gehen */
  10.  
  11. Open(console,"CON:10/10/600/300/AmiNet-Calc V1.7, Freeware (C) by Martin Steigerwald/CLOSE","write")
  12.  
  13. NL= "0a"x
  14.  
  15. tags = "rtfi_flags=freqf_multiselect"
  16.  
  17. overallsize=0
  18. PreisDD=3.00    /* Preis einer DD-Diskette ( 880 kByte) in DM */
  19. PreisHD=5.00    /* Preis einer HD-Diskette (1,76 MByte) in DM */
  20. VK=5.00         /* Versandkosten bei Vorkasse  in DM */
  21. NN=9.00         /* Versandkosten bei Nachnahme in DM */
  22.  
  23. startpfad=""    /* Anfangspfad fuer den Dateirequester !!! */
  24.  
  25. /* Dieses Ikon wird fuer die Datei Bestellinfo verwendet
  26.    Wenn kein Icon kopiert werden soll, dann einfach eine nicht
  27.    vorhandene Datei eingeben.
  28. */
  29. /*
  30. icon="ENVARC:SYS/def_project.info"       /* Fuer Magic-WB */
  31. */
  32.  
  33. icon="ENVARC:SYS/def_amigaguide.info"    /* Fuer NewIcons */
  34.  
  35. /* Pfad + Name der Datei Bestellinfo */
  36. bestellinfo="BestellInfo"
  37.  
  38. ddmodus=1       /* DD-Modus */
  39. hdmodus=2       /* HD-Modus */
  40.  
  41. arbeitsmodus=hdmodus   /* HD-Disks anzeigen oder nicht! */
  42.  
  43. CALL AddLib("rexxreqtools.library", 0, -30)
  44.  
  45. CALL rtfilerequest(startpfad,,"Wähle bitte AmiNet-Liste(n)!", ,tags ,dateiliste)
  46.  
  47. IF dateiliste.count="DATEILISTE.COUNT" THEN DO
  48.   CALL rtezrequest("Keine Datei ausgewählt!!!!!", "Abbruch")
  49.   EXIT
  50. END
  51.  
  52. DO i=1 TO Dateiliste.count
  53.  
  54.   Open(In,Dateiliste.i,"read")
  55.   WriteCh(console, "+")
  56.   /* Modifikationen von Martin Schulze, ueberarbeitet von Martin Steigerwald :-;  */
  57.   /* Aminet-Calc liest jetzt auch die neuen Index-Files mit Altersangabe */
  58.   /* Diese Zeile wird wohl nicht benoetigt... */
  59.   /* IF (Pos('+',tmp)+Pos(' ',tmp)+Pos('*',tmp))>0 THEN tmp=left(tmp,Pos('+',tmp)-1) */
  60.   /* Kommentare vor die Schleife, um etwas mehr Geschwindigkeit zu bekommen !!! */
  61.  
  62.   DO UNTIL Eof(In)
  63.     line=ReadLn(In)
  64.     IF (Length(line)>20) & (Pos('/',line)~=0) & (Index(line,"-",1)~=1) THEN DO
  65.       tmp=WORD(line,3)
  66.       IF Pos('?',tmp) ~=0 THEN size=1
  67.       IF Pos('K',tmp) ~=0 THEN size=left(tmp,Pos('K',tmp)-1)
  68.       IF Pos('M',tmp) ~=0 THEN DO
  69.         size=left(tmp,Pos('M',tmp)-1)*1000
  70.       END
  71.       overallsize=overallsize+size
  72.       WriteCh(console,".")
  73.     END
  74.   END
  75.   Close(In)
  76. END
  77. WriteLn(console,"")
  78.  
  79. ddsize=820
  80. hdsize=1700
  81.  
  82. dds=overallsize%ddsize+2
  83. hds=overallsize%hdsize+2
  84. ddp=dds*PreisDD
  85. hdp=hds*PreisHD
  86. ddVKsum=ddp+VK
  87. hdVKsum=hdp+VK
  88. ddNNsum=ddp+NN
  89. hdNNsum=hdp+NN
  90.  
  91. Open(out,bestellinfo,"write")
  92.  
  93. DO i=1 TO 2
  94.  
  95.   IF i=2 THEN out=console
  96.  
  97.   WriteLN(out, "+-------------------------------------------------------------------+")
  98.   WriteLN(out, "|             AmiNet-On-Disk-Calculator V1.7 (2.3.95)               |")
  99.   WriteLN(out, "|    ein kleines ARexx-Utility von Martin Steigerwald (FreeWare)    |")
  100.   WriteLN(out, "+-------------------------------------------------------------------+")
  101.  
  102.   WriteLN(out, NL || NL || "    Die angebenen Files belegen " || overallsize || " Kilobytes")
  103.   WriteLN(out, "    auf " || dds || " DD-Disketten für insgesamt " || ddp || " DM oder")
  104.  
  105.   IF arbeitsmodus=hdmodus THEN WriteLn(out, "    auf " || hds || " HD-Disketten für insgesamt " || hdp || " DM.")
  106.  
  107.   WriteLN(out, NL || NL || "    Versandpreise:")
  108.   WriteLN(out, "    --------------")
  109.   WriteLN(out, NL || "       DD-Disketten:")
  110.   WriteLN(out, NL || "    Vorkasse : " || ddp || " DM + " || VK || " DM = " || ddVKsum || " DM")
  111.   WriteLN(out, "    Nachnahme: " || ddp || " DM + " || NN || " DM = " || ddNNsum || " DM")
  112.  
  113.   IF arbeitsmodus=hdmodus THEN DO
  114.     WriteLN(out, NL || "       HD-Disketten:")
  115.     WriteLN(out, NL || "    Vorkasse : " || hdp || " DM + " || VK || " DM = " || hdVKsum || " DM")
  116.     WriteLN(out, "    Nachnahme: " || hdp || " DM + " || NN || " DM = " || hdNNsum || " DM")
  117.   END
  118.  
  119.   WriteLN(out, NL || NL || "       *** Bis später, Ihr AmiDisk-Calcer! ***" || NL)
  120.  
  121.   IF i=1 THEN Close(out)
  122.   ELSE DO
  123.     WriteLn(out,NL || NL || "! ! !   Das Bestellinfo wird in Datei ´"bestellinfo"´ abgelegt   ! ! ! ")
  124.     dummy=ReadLn(out)
  125.   END
  126. END i
  127.  
  128. Address Command 
  129.  
  130. copy icon bestellinfo || ".info" ">nil:"
  131.